package com.zzyl.service;

import com.aliyun.iot20180120.models.*;
import com.zzyl.base.PageResponse;
import com.zzyl.base.ResponseResult;
import com.zzyl.dto.DeviceDto;
import com.zzyl.dto.DevicePageQueryDto;
import com.zzyl.vo.DeviceVo;
import com.zzyl.vo.ProductVo;

import java.util.List;
import java.util.Map;

public interface DeviceService {

    void syncProductList();

    List<ProductVo> allProduct();

    void registerDevice(DeviceDto deviceDto);

    PageResponse<DeviceVo> pageQueryDevice(DevicePageQueryDto devicePageQueryDto);

    DeviceVo queryDeviceDetail(QueryDeviceDetailRequest queryDeviceDetailRequest);


    ResponseResult queryThingModelPublished(QueryThingModelPublishedRequest queryDeviceDetailRequest);

    ResponseResult queryDevicePropertyStatus(QueryDevicePropertyStatusRequest queryDeviceDetailRequest);

    void deleteDevice(DeleteDeviceRequest deleteDeviceRequest);

    void updateDevice(DeviceDto deviceDto);
}
